home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / clean / sun3.lha / Sun3 / deltaP.abc < prev    next >
Text File  |  1992-08-07  |  3KB  |  222 lines

  1. .comp 800 011111011
  2. .code      86       6      25
  3. .start _nostart_
  4. .endinfo
  5. .implab _channel_code
  6. .implab _hnf_reducer
  7. .impdesc _HnfReducer
  8. .implab _cycle_in_spine
  9. .implab _reserve
  10. .implab _type_error
  11. .implab _hnf
  12. .impdesc _Cons
  13. .impdesc _Tuple
  14. .impdesc _S.1
  15. .implab n_S.1
  16. .impdesc _S.2
  17. .implab n_S.2
  18. .impdesc _S.3
  19. .implab n_S.3
  20. .impdesc _S.4
  21. .implab n_S.4
  22. .impdesc _S.5
  23. .implab n_S.5
  24. .impdesc _S.6
  25. .implab n_S.6
  26. .impdesc _Nil
  27. .implab _driver
  28. .implab e_system_nAP
  29. .implab e_system_sAP
  30. .impdesc e_system_AP
  31. .desc m_deltaP _hnf _hnf 0 "deltaP"
  32. .export e_deltaP_CurrentP
  33. .export e_deltaP_sCurrentP
  34. .export e_deltaP_nCurrentP
  35. .desc e_deltaP_CurrentP e_deltaP_nCurrentP e_deltaP_lCurrentP 0 "CurrentP"
  36. .o 1 0
  37. e_deltaP_lCurrentP:
  38.     halt
  39. .n 0 e_deltaP_CurrentP
  40. .o 1 0
  41. e_deltaP_nCurrentP:
  42.     push_node _reserve 0
  43. .d 0 0
  44.     jsr ea94
  45. .o 0 1 p
  46.     getWL 0
  47.     fillI_b 0 0
  48.     release
  49.     pop_b 1
  50. .d 1 0
  51.     rtn
  52. .o 0 0
  53. e_deltaP_sCurrentP:
  54. .o 0 0
  55. ea94:
  56. .o 0 0
  57. s94.1:
  58. .inline CurrentP
  59.     currentP
  60. .end
  61. .d 0 1 p
  62.     rtn
  63. .export e_deltaP_ITOP
  64. .export e_deltaP_sITOP
  65. .export e_deltaP_nITOP
  66. .desc e_deltaP_ITOP e_deltaP_nITOP e_deltaP_lITOP 1 "ITOP"
  67. .o 2 0
  68. e_deltaP_lITOP:
  69.     pop_a 1
  70. .d 1 0
  71.     jsr ea96
  72. .o 0 1 p
  73.     create
  74.     fillI_b 0 0
  75.     pop_b 1
  76. .d 1 0
  77.     rtn
  78. .n 1 e_deltaP_ITOP
  79. .o 1 0
  80. e_deltaP_nITOP:
  81.     push_node _reserve 1
  82. .d 1 0
  83.     jsr ea96
  84. .o 0 1 p
  85.     getWL 0
  86.     fillI_b 0 0
  87.     release
  88.     pop_b 1
  89. .d 1 0
  90.     rtn
  91. .o 1 0
  92. ea96:
  93.     jsr_eval
  94.     pushI_a 0
  95.     pop_a 1
  96. .o 0 1 i
  97. e_deltaP_sITOP:
  98. .o 0 1 i
  99. s96.1:
  100. .inline ITOP
  101.     ItoP
  102. .end
  103. .d 0 1 p
  104.     rtn
  105. .export e_deltaP_RandomP
  106. .export e_deltaP_sRandomP
  107. .export e_deltaP_nRandomP
  108. .desc e_deltaP_RandomP e_deltaP_nRandomP e_deltaP_lRandomP 0 "RandomP"
  109. .o 1 0
  110. e_deltaP_lRandomP:
  111.     halt
  112. .n 0 e_deltaP_RandomP
  113. .o 1 0
  114. e_deltaP_nRandomP:
  115.     push_node _reserve 0
  116. .d 0 0
  117.     jsr ea98
  118. .o 0 1 p
  119.     getWL 0
  120.     fillI_b 0 0
  121.     release
  122.     pop_b 1
  123. .d 1 0
  124.     rtn
  125. .o 0 0
  126. e_deltaP_sRandomP:
  127. .o 0 0
  128. ea98:
  129. .o 0 0
  130. s98.1:
  131. .inline RandomP
  132.     randomP
  133. .end
  134. .d 0 1 p
  135.     rtn
  136. .export e_deltaP_NeighbourP
  137. .export e_deltaP_sNeighbourP
  138. .export e_deltaP_nNeighbourP
  139. .desc e_deltaP_NeighbourP e_deltaP_nNeighbourP e_deltaP_lNeighbourP 2 "NeighbourP"
  140. .o 2 0
  141. e_deltaP_lNeighbourP:
  142.     repl_args 1 1
  143. .d 2 0
  144.     jsr ea100
  145. .o 0 1 p
  146.     create
  147.     fillI_b 0 0
  148.     pop_b 1
  149. .d 1 0
  150.     rtn
  151. .n 2 e_deltaP_NeighbourP
  152. .o 1 0
  153. e_deltaP_nNeighbourP:
  154.     push_node _reserve 2
  155. .d 2 0
  156.     jsr ea100
  157. .o 0 1 p
  158.     getWL 0
  159.     fillI_b 0 0
  160.     release
  161.     pop_b 1
  162. .d 1 0
  163.     rtn
  164. .o 2 0
  165. ea100:
  166.     push_a 1
  167.     jsr_eval
  168.     pop_a 1
  169.     jsr_eval
  170.     pushI_a 1
  171.     pushI_a 0
  172.     pop_a 2
  173. .o 0 2 i p
  174. e_deltaP_sNeighbourP:
  175. .o 0 2 i p
  176. s100.1:
  177. .inline NeighbourP
  178.     neighbourP
  179. .end
  180. .d 0 1 p
  181.     rtn
  182. .export e_deltaP_ChannelP
  183. .export e_deltaP_sChannelP
  184. .export e_deltaP_nChannelP
  185. .desc e_deltaP_ChannelP e_deltaP_nChannelP e_deltaP_lChannelP 1 "ChannelP"
  186. .o 2 0
  187. e_deltaP_lChannelP:
  188.     pop_a 1
  189. .d 1 0
  190.     jsr ea102
  191. .o 0 1 p
  192.     create
  193.     fillI_b 0 0
  194.     pop_b 1
  195. .d 1 0
  196.     rtn
  197. .n 1 e_deltaP_ChannelP
  198. .o 1 0
  199. e_deltaP_nChannelP:
  200.     push_node _reserve 1
  201. .d 1 0
  202.     jsr ea102
  203. .o 0 1 p
  204.     getWL 0
  205.     fillI_b 0 0
  206.     release
  207.     pop_b 1
  208. .d 1 0
  209.     rtn
  210. .o 1 0
  211. e_deltaP_sChannelP:
  212. .o 1 0
  213. ea102:
  214. .o 1 0
  215. s102.1:
  216. .inline ChannelP
  217.     channelP 0
  218.     pop_a 1
  219. .end
  220. .d 0 1 p
  221.     rtn
  222.